package com.yxinsur.imc.business.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxinsur.imc.common.annotation.Excel;
import com.yxinsur.imc.common.core.domain.BaseImcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 保单人员批单对象 imc_order_person_endorse
 *
 * @author imc
 * @date 2021-10-09
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class ImcOrderPersonEndorse extends BaseImcEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 保单人员主键
     */
    private Long id;

    /**
     * 保单ID
     */
    @Excel(name = "保单ID")
    private Long orderId;

    /**
     * 保单人员类型A投保人B被保人C受益人
     */
    @Excel(name = "保单人员类型A投保人B被保人C受益人")
    private String orderPersonType;

    /**
     * 姓名/法人/负责人
     */
    @Excel(name = "姓名/法人/负责人")
    private String fullName;

    /**
     * 性别
     */
    @Excel(name = "性别")
    private String gender;

    /**
     * 职业名称
     */
    @Excel(name = "职业名称")
    private String occName;

    /**
     * 证件类型
     */
    @Excel(name = "证件类型")
    private String certiType;

    /**
     * 证件号
     */
    @Excel(name = "证件号")
    private String certiCode;

    /**
     * 生日
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /**
     * 证件止期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "证件止期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date certiExpiryDate;

    /**
     * 联系电话
     */
    @Excel(name = "联系电话")
    private String mobile;

    /**
     * 住宅电话
     */
    @Excel(name = "住宅电话")
    private String houseTel;

    /**
     * 省
     */
    @Excel(name = "省")
    private String province;

    /**
     * 市
     */
    @Excel(name = "市")
    private String city;

    /**
     * 区
     */
    @Excel(name = "区")
    private String county;

    /**
     * 家庭住址
     */
    @Excel(name = "家庭住址")
    private String homeAddr;

    /**
     * 婚姻状况
     */
    @Excel(name = "婚姻状况")
    private String maritalStatus;

    /**
     * 邮政编码
     */
    @Excel(name = "邮政编码")
    private String postalcode;

    /**
     * 通讯地址
     */
    @Excel(name = "通讯地址")
    private String mailAddr;

    /**
     * 邮箱
     */
    @Excel(name = "邮箱")
    private String email;

    /**
     * 收入(万元)
     */
    @Excel(name = "收入(万元)")
    private Long income;

    /**
     * 身高
     */
    @Excel(name = "身高")
    private String height;

    /**
     * 体重
     */
    @Excel(name = "体重")
    private String weight;

    /**
     * 工作单位
     */
    @Excel(name = "工作单位")
    private String workUnit;

    /**
     * 工作单位地址
     */
    @Excel(name = "工作单位地址")
    private String unitAddr;

    /**
     * 营业执照号
     */
    @Excel(name = "营业执照号")
    private String bizLicense;

    /**
     * 是否法定受益人
     */
    @Excel(name = "是否法定受益人")
    private String isLegalBeneficiary;

    /**
     * 受益顺序
     */
    @Excel(name = "受益顺序")
    private String benefitOrder;

    /**
     * 收益比例
     */
    @Excel(name = "收益比例")
    private String benefitRate;

    /**
     * 是否同投保人
     */
    @Excel(name = "是否同投保人")
    private String isSameApplicant;

    /**
     * 与投保人关系
     */
    @Excel(name = "与投保人关系")
    private String relationWithApplicant;

    /**
     * 与被保险人关系
     */
    @Excel(name = "与被保险人关系")
    private String relationWithInsurant;

    /**
     * 开户行名称
     */
    @Excel(name = "开户行名称")
    private String bankName;

    /**
     * 银行账户
     */
    @Excel(name = "银行账户")
    private String account;

    /**
     * 续期缴费银行名称
     */
    @Excel(name = "续期缴费银行名称")
    private String renewalBankName;

    /**
     * 续期银行账号
     */
    @Excel(name = "续期银行账号")
    private String renewalAccount;

    /**
     * 默认投/被保险人，用于区分多投被保险人
     */
    @Excel(name = "默认投/被保险人，用于区分多投被保险人")
    private String isDefalut;

    /**
     * 备注
     */
    @Excel(name = "备注")
    private String remark;

    /**
     * 逻辑删除
     */
    @Excel(name = "逻辑删除")
    private String isDeleted;

    /**
     * $column.columnComment
     */
    @Excel(name = "逻辑删除")
    private String createId;

    /**
     * 租户id,一个租户id唯一对一个机构id（默认机构id为根节点id暨法人机构）
     */
    @Excel(name = "租户id,一个租户id唯一对一个机构id", readConverterExp = "默=认机构id为根节点id暨法人机构")
    private Long tenantId;

    /**
     * $column.columnComment
     */
    @Excel(name = "租户id,一个租户id唯一对一个机构id", readConverterExp = "$column.readConverterExp()")
    private String updateId;

    /**
     * 批单流水号
     */
    @Excel(name = "批单流水号")
    private String serialId;
}
